package entity

import "time"

type NetWorkStatus int

const (
	ONLINE NetWorkStatus = iota
	OFFLINE
)

type Status int
type AlarmStatus Status

const (
	NORMAL Status = iota
	ABNORMAL
)

type SystemInfo struct {
	ID            int64 `gorm:"column:id;primary_key"`
	HostName      string
	Version       string
	VersionDetail string
	MemPer        float64
	MemTotalSize  int64
	CpuCoreNum    int
	CpuPer        float64
	CpuXh         string
	/**
	 * 主机状态，0在线 1离线
	 */
	NetworkState NetWorkStatus

	/**
	 * 告警状态，0正常 1异常
	 */
	AlarmState Status

	/**
	 * 创建时间
	 */
	CreatedAt time.Time `gorm:"column:create_time"`

	//磁盘总使用率%
	DiskPer float64
	/**
	 * 磁盘总空间
	 */
	DiskTotalSize int64

	/**
	 * 主机备注
	 */
	Remark string
	/**
	 * 运行时间
	 */
	Uptime float64
	/**
	 * 存储额外信息
	 */
	Json string
	/**
	 * 设备类型（1服务器 2交换机 3PDU 4播控器）
	 */
	Type DeviceType
}
